Aus Oxoscript wird NanoPy - mehr Infos

System-Funktionen

setLanguage

  setLanguage(byte lang)

Setzt die Systemsprache des Geräts.

Verfügbare Sprachen:

C_LANGUAGE_EN
C_LANGUAGE_DE
C_LANGUAGE_FR

getLanguage

  getLanguage()->byte

Gibt die aktuell eingestellte Systemsprache zurück.

Verfügbare Sprachen:

C_LANGUAGE_EN
C_LANGUAGE_DE
C_LANGUAGE_FR

getHardwareType

  getHardwareType()->byte

Gibt den Typ der aktuell verwendeten Oxocard zurück.

C_HW_GALAXY = 0
C_HW_ARTWORK = 1
C_HW_SCIENCE = 2
C_HW_SCIENCE_PLUS = 3
C_HW_CONNECT = 4

textInput

  textInput(title:byte[], text:byte[])->byte[120]

Öffnet ein Text-Eingabefeld und gibt den eingegebenen Text zurück, sobald das OK-Symbol ausgewählt und bestätigt wurde.

str = textInput("Test", "123")
print(str)

isConnected

  isConnected()->bool

Gibt true zurück, wenn die Karte mit dem Internet verbunden ist.

runScript

  runScript(path:byte[])

Startet ein zuvor heruntergeladenes oder ein als Datei gespeichertes Script.

Das aktuelle Script wird beendet und mit dem neue Script ersetzt.

Falls das Script nicht vorhanden ist, wird ein “Datei nicht gefunden”-Laufzeitfehler ausgegeben.

Heruntergeladene Scripts werden im Ordner “user_scripts” abgelegt. Der Dateiname entspricht dem Namen im Editor, z.B. “My downloaded script” plus “.npy”-Dateiendung.

runScript("user_scripts/My downloaded script.npy")

Datei Beispiel:

if fileExists("hello.npy"):
    deleteFile("hello.npy")

open(C_WRITE, "hello.npy")
code = "drawText(35, 10, \"Hello World!\")\nupdate()"
i = 0
ch = code[i]
while ch != 0:
    writeByte(ch)
    i++
    ch = code[i]
close()

runScript("hello.npy")

backlight

  backlight(value:float)

Schaltet das Hintergrundlicht des TFT-Displays ein (value=1) oder aus (value=0).

Mit Werten zwischen 0 und 1 (z.B. 0.1) kann das TFT-Display auch gedimmt werden.

Beachte:
Da das menschliche Auge Licht nicht linear (sondern logarithmisch) wahrnimmt, wird man erst bei kleineren Werten einen markanten Unterschied bemerken.

background(0, 255, 0)
drawText(60, 80, "Test123")
update()
for i in 20:
    backlight(1.0 - 0.05*i)
    delay(500)

ipAddress

  ipAddress()->byte[16]

Gibt die aktuelle IP-Adresse als String (byte-Array) zurück.
Wenn die Karte nicht mit dem Internet verbunden ist, wird “0.0.0.0” zurückgegeben.

ipAddress() # => "192.168.42.164"

sleep

  sleep(sec:long)

Schaltet die Oxocard aus und lässt sie nach x Sekunden wieder neustarten.

turnOff

  turnOff()

Schaltet die Oxocard aus.

setAutostart

  setAutostart()

Wenn die Autostartfunktion eingeschaltet wurde, wird bei einem Neustart der Oxocard (nach dem Verbinden mit dem Internet) direkt ins Startprogram gewechselt.

setAutostart(true)
setAutostart(false)

print

  print(str:byte[])

Sendet den definierten String-Parameter ans Terminal im NanoPy-Editor.

print("Hallo Welt!")

Wird der print()-Funktion eine Zahl oder eine Variabel übergeben, wird diese automatisch in einen String (bzw. byte[]) umgewandelt:

print(123)  # "123"
a = 1.23
print(a)    # "1.23"

Es ist sogar möglich Texte und Zahlen oder Variablen zu mischen:

v = vector(x=5,y=10)
print("x = " + v.x + "; y = " + v.y)  # "x = 5.0; y = 10.0"

setPrecision

  setPrecision(val:byte)

Formatiert beim Ausgeben von Float-Werten die Nachkommastellen:

f = 1.23931
setPrecision(2)
print(f)  # "1.24"
setPrecision(4)
print(f)  # "1.2393"

restart

  restart()

Startet die Oxocard neu.

returnToMenu

  returnToMenu()->bool

Mit dieser Funktion springt man wieder zurück ins Menü.
Der Rückgabewert gibt an, ob der Benutzer das Programm wirklich verlassen hat.

    if getButton():
        if returnToMenu():
            return